.header{position:relative;height:6rem;z-index:10}
.header.sticky{position:fixed;top:0;left:0;width:100%}
.header>.container{display:flex;align-items:center;justify-content:space-between;height:100%}
.home-link{text-decoration:none}
.logo{height:1.5rem}
.site-name{font-size:.9rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}
.nav{font-size:.9rem;font-weight:600;text-decoration:none;margin-top:4px;margin-right:3rem;padding-bottom:4px;border-bottom:1px solid;border-color:transparent;transition:border .15s}
.nav > a:first-child {
	margin-right: 3rem;
}
.footer{font-size:.8rem;padding:6rem 0}
*{box-sizing:border-box}
body{--color-base:#fff;--color-base-1:#f3f3f3;--color-contrast:#000;--color-contrast-1:#2b2b2b;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0;font-size:16px;background:var(--color-base);color:var(--color-contrast);transition:background .5s ease}
body.dark{--color-base:#000;--color-base-1:#2b2b2b;--color-contrast:#fff;--color-contrast-1:#f3f3f3}h1{letter-spacing:-.01em}
.layout{padding:0}
.layout.sticky-header{padding:6rem 0 0}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
@media (min-width:860px){
	.container{padding:0 6rem}}
	a{color:inherit}
	img{max-width:100%}
	.label{display:block;font-weight:700;margin-bottom:.5rem}
	code[class*=language-],pre[class*=language-]{color:#000;background:none;font-family:Space Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}
	code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:var(--color-base-1)}
	code[class*=language-]::selection,
	code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:var(--color-base-1)}
	@media print{
		code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--color-base-1)}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}
		.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}
		.token.punctuation{color:#999}
		.namespace{opacity:.7}
		.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}
		.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}
		.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59;background:hsla(0,0%,100%,.5)}
		.token.atrule,.token.attr-value,.token.keyword{color:#07a}
		.token.function{color:#dd4a68}
		.token.important,.token.regex,.token.variable{color:#e90}
		.token.bold,.token.important{font-weight:700}
		.token.italic{font-style:italic}
		.token.entity{cursor:help}
		.project-header{padding:20vh 0 4rem}
		.project-title{font-size:4rem;margin:0 0 4rem;padding:0}
		.project-info{display:flex;flex-wrap:wrap;font-size:.8rem}
		.project-info>div{margin-right:4rem}
		.project-info>div:last-of-type{margin:0}
		.category:after{content:", "}
		.category:last-of-type:after{content:""}
		p{line-height:1.5;font-size:1.15rem}
		h2{font-size:2rem}
		h3{font-size:1.5rem}
		h4,h5,h6{font-size:1.15rem}
		.journal-container{max-width:840px}
		.journal-header{padding:2rem 0 4rem}
		.journal-title{font-size:4rem;margin:0 0 4rem;padding:0}
		.journal-meta{display:flex;flex-wrap:wrap;font-size:.8rem}
		.journal-meta>div{margin-right:4rem}
		.journal-meta>div:last-of-type{margin:0}
		.container.journal{max-width:720px}
		.journal-hero{padding:4rem 0;text-align:center;color:var(--color-base-1)}
		.journal-header{font-size:3rem;font-weight:700;padding:0;margin:0}
		.journal-post{display:block;padding:2rem 0;text-decoration:none;transition:background .5s ease}
		.journal-post{transition:transform .5s ease}
		.journal-post:hover{background-color:var(--color-base-1)}
		.journal-post h1,.journal-post h2{margin:0;padding:0}
		.journal-title {font-size:2rem;color:var(--color-contrast)}
		.journal-excerpt {color:var(--color-contrast-1)}
	    @media (min-width:560px){
			.journal-post{padding:3rem 0}}
		@media (min-width:860px){
			.journal-post {padding:5rem 0}}
			.contact-header {padding:2rem 0 4rem}
			.contact-title {font-size:4rem;margin:0 0 4rem;padding:0}
			.sender-info {display:flex;flex-wrap:wrap;margin-bottom:2rem}
			.sender-info>div {flex:1;margin-right:4rem}
			.sender-info>div:last-of-type{margin:0}
			input:focus,textarea:focus{border-color:var(--color-contrast-1)}
			input,textarea{background:transparent;border:1px solid var(--color-base-1);outline:none;border-radius:.3rem;padding:.8rem 1rem;color:inherit;font-size:1rem;width:100%}
			textarea {resize:none;height:140px}
			.button {color:var(--color-base);background:var(--color-contrast);outline:none;border:0;font-size:.8rem;padding:.8rem 1.6rem;border-radius:.3rem;margin-top:2rem;cursor:pointer;transition:opacity .25s ease;font-size:500;letter-spacing:.035em}
			.button:hover{opacity:.6}
			.button:focus{border:1px solid var(--color-base-1)}
			.hero{text-align:center;width:480px;max-width:100%;margin:0 auto;padding:4rem 0 8rem}
			.hero-title{font-size:3rem;font-weight:700;padding:0;margin:0 0 2rem}
			.hero-subtitle,.hero-subtitle p,.hero-title p{margin:0;padding:0}
			.hero-subtitle{font-size:1.15em;font-weight:400;line-height:1.68;opacity:.6}
			.projects {display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem}
			.project {grid-column:auto/span 2;text-align:center}
			.project-link{text-decoration:none}
			.thumbnail {height:560px;-o-object-fit:cover;object-fit:cover;transition:all .15s ease;box-shadow:0 0 40px -20px rgba(0,0,0,.25)}
			.project-title {font-size:1rem;color:var(--color-contrast);margin:2rem 0 1rem}
			.categories {font-size:.8rem;color:var(--color-contrast-1)}
			.category {margin-right:.8rem}
			.category:last-of-type{margin:0}
			.project:hover .thumbnail {transform:scale(1.02);box-shadow:0 20px 40px -20px rgba(0,0,0,.25)}
			@media (min-width:920px){
				.project {grid-column:auto/span 1}
				.project:nth-child(3n+1){grid-column:auto/span 2}}
				.latest-journals-heading {margin-top:6rem;margin-bottom:1rem;font-size:.6rem;font-weight:400;text-transform:uppercase}.latest-journals {max-width:100%;margin:0 2rem;border:1px solid var(--color-base-1)}
				.latest-journals>.container {display:flex;flex-wrap:wrap}
				.journal {flex:0 0 100%;display:block;padding:2rem;transition:background .25s ease;text-decoration:none;border-bottom:1px solid var(--color-base-1)}
				.journal:last-of-type{border-bottom:0}
				.journal:hover {background:var(--color-base-1)}
				.journal-title {font-size:1rem;line-height:1.35}
				@media (min-width:580px){
					.journal {flex:0 0 50%}
					.journal:first-child{border-right:1px solid var(--color-base-1)}
					.journal:first-child,.journal:nth-child(2){border-bottom:1px solid var(--color-base-1)}
					.journal:nth-child(3){border-right:1px solid var(--color-base-1);border-bottom:0}}
				@media (min-width:920px){
					.journal {flex:0 0 25%}
					.journal:first-child,.journal:nth-child(2),.journal:nth-child(3){border:0;border-right:1px solid var(--color-base-1)}.latest-journals {margin:0;border-left:0;border-right:0;border-top:1px solid var(--color-base-1);border-bottom:1px solid var(--color-base-1)}}